其他
Kotlin 1.4 来了!全新语言特性和更多改进
作者 / 开发技术推广工程师 Wojtek Kaliciński
Kotlin https://developer.android.google.cn/kotlin 首选语言 (Kotlin-first) https://developer.android.google.cn/kotlin/first
JetBrains 官方博客 https://blog.jetbrains.com/zh-hans/kotlin/2020/08/kotlin-1-4-released-with-a-focus-on-quality-and-performance-zh/
新语言特性
Kotlin 接口的 SAM 转换
executor.execute { println("This is shorthand for passing in a Runnable") }
fun interface Transformer<T, U> {
fun transform(x: T): U
}
val length = Transformer {
x: String -> x.length
}
Kotlin 1.4 版本说明页面介绍了有关新语言特性的更多信息,如: 混合命名和位置参数、尾部逗号、可调用引用改进,以及在循环中的 when 内部使用 break 和 continue。
版本说明 https://kotlinlang.org/docs/reference/whatsnew14.html#mixing-named-and-positional-arguments
显式 API 模式
该模式强制执行 Kotlin 的某些语言属性,这些属性通常为可选,例如指定可见性修饰符,以及任何公共声明的显式键入,防止设计库的公共 API 时出错。官方文档说明了如何启用显式 API 模式并开始使用这些附加检查。
官方文档: 显式 API 模式 https://kotlinlang.org/docs/reference/whatsnew14.html#explicit-api-mode-for-library-authors
编译器的改进
上述语言特性是 Kotlin 1.4 中密切贴合开发者的一部分改动,其他大部分工作是以提高 Kotlin 编译器的整体质量和性能为主。
现在,所有开发者都可以利用的优势之一是更强大的新类型推断算法 (默认启用),它可以在更多用例中自动推理类型,即使在复杂的场景下也支持智能转换,帮助开发者提高工作效率。
问题跟踪器 http://kotl.in/issue
kotlinOptions.useIR = true
立即体验 Kotlin 1.4!
项目和 IDE 更新到 Kotlin 1.4 需要完成两个步骤。
Android Studio https://developer.android.google.cn/studio
buildscript {
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.0"
}
}
plugins {
id 'org.jetbrains.kotlin.android' version '1.4.0'
}
推荐阅读